# 将复杂逻辑都包裹起来，对外仅仅提供使用规范即可，安全可复用性高
# 计算圆面积，用户只需要关注传入半径，既可以算出周长，而无需关心是怎么实现的，也无法改动代码内部本身
import math


class Circle:
    def __init__(self, radius):
        self.radius = radius


    def area(self):
        return math.pi * self.radius ** 2

    def perimeter(self):
        return 2 * math.pi * self.radius


#好处，使用者并不知道代码内部逻辑，只需要输入半径，即可得到周长和面积，Circle类扩展起来非常方便
#Circle可以作为一个整体被其他模块调用,无需重复造轮子
print(Circle(5).area())
print(Circle(6).perimeter())
print(Circle(1).perimeter)
